package demo.practice.leetcode_eveyday;

import java.util.HashMap;
import java.util.Map;

public class P781 {


    public static void main(String[] args) {
        P781 p781= new P781();
        p781.numRabbits(new int[]{1,0,1,0,0});
    }

    /**
     *  [1, 1, 2]
     *     * 两只回答了 "1" 的兔子可能有相同的颜色，设为红色。
     * 之后回答了 "2" 的兔子不会是红色，否则他们的回答会相互矛盾。
     * 设回答了 "2" 的兔子为蓝色。
     * @param answers
     * @return
     */

    //1.当第一只兔子说  有一个和它颜色相同，那么我们可以  开一个1->1的 k-v ,而总数的话为  1+1=2
    //2.当再来第二只兔子的时候，我们去map中寻找 1是否还有空间，如果有则值减1，总数不增加

    public int numRabbits(int[] answers) {


        Map<Integer,Integer> map= new HashMap<>();
        int sum=0;
        for(Integer i :answers){
            if(map.get(i)!=null&&map.get(i)>0){
                map.put(i,map.get(i)-1);
            }else{
                sum+=1+i;
                map.put(i,i);
            }
        }

        return sum;
    }
}
